جلوگیری از درج عدد در تکس باکس توسط کاربر در اکسس
سلام به یکی دیگر از آموزش هی سایت سافت پلاس خوش آمدید . امروز می خواهیم در نرم افزار اکسس به این موضوع بپردازیم که چطور می توانیم باعث جلوگیری از درج عدد در تکس باکس شویم .
اما شاید این سوال در ذهنت ان ایجاد شود که اصلا چرا باید یک همچین کاری را بکنیم ؟
در پاسخ به این سوال باید گفت که وقتی شما نوع داده مجاز برای یک تکست باکس را از نوع متن در نظر می گیرید ، برای ورود داده ها با دو انتخاب مواجه هستید:
۱. وارد نمودن متن های مختلف شامل حروف الفبا علائم ، کاراکترها و …. .
۲ وارد نمودن اعداد که این اعداد در قالب متن قرار می گیرند .
اما حتما می دانید که در این حالت اعداد قابلیت اعمال ریاضی را ندارند همانند شماره تلفن کد ملی و غیره که اگر در قالب متن وارد تکس باکس شما شوند شما قادر به انجام اعمالی همانند جمع ، تفریق ، ضرب و تقسیم بر روی این اعداد نخواهید بود.
چرا که اصولاً نیازی به جمع بستن و انجام اعمال ریاضی بر روی این نوع از اعداد پیدا نمی کنید.
گاهی اوقات نیاز پیدا میکنید که از کاربر بخواهید که درون یک تکست باکس فقط از مقادیر متنی استفاده نموده و به هیچ عنوان قادر به وارد نمودن اعداد به جای حروف نباشد و به بیانی دیگر به جلوگیری از درج عدد در تکس باکس مورد نظر خود از سوی کاربر بپردازید .
اما سپردن این کار یعنی وارد نکردن عدد در یک تکس باکس متنی به کاربر ایده چندان جالبی نخواهد بود چرا که هیچ تضمینی وجود ندارد که کاربر در ورود اطلاعات مورد نظر شما دچار خطا نشود.
اما این شما هستید که در گام اول می توانید با هوشمندی و البته صرف مدت زمان کمی و با استفاده از چند خط کد VBA ترتیبی اتخاذ کنید که باعث جلوگیری از درج عدد در تکس باکس مورد نظر خود توسط کاربر شوید .
مطلب مرتبط : قوانین و قوانین اعتبار سنجی در اکسس
و در گام بعدی در صورت بروز این امر یعنی وارد کردن عدد به جای متن توسط کاربر ، با پیغام مناسبی کاربر را از خطای رخ داده مطلع نموده و برای رفع آن راهنمایی های لازم را در اختیار کاربر قرار بدهید.
برای این منظور مراحل زیر را دنبال نمایید:
مراحل جلوگیری از درج عدد در تکس باکس
- جدولی شامل اطلاعات زیر را ایجاد نمایید .
همانطور که ملاحظه می نمایید نوع داده در هر سه فیلد مربوط به این جدول از نوع متن تعریف شده است .
- در گام دوم باید فرمی که با فیلدهای جدول شما در ارتباط باشد را طراحی و ایجاد نمایید . محیط طراحی این فرم را می توانید در تصویر مشاهده نمایید .
[ بعد از ایجاد فرم خود همزمان که در محیط طراحی فرم به سر می برید با فشردن همزمان دکمه های ALT +F 11 وارد محیط کدنویسی اکسس شود .[/caption]
- در این محیط از منوی Insert گزینه Module را انتخاب نمایید .
[
سپس کدهای زیر را کپی نموده و در محیط کد نویسی خود وارد نمایید .
Public Function TextOnly(ByVal strText As String) As Boolean
'ممانعت از ورود داده عددی
Dim intCounter As Integer
For intCounter = 1 To Len(strText)
If IsNumeric(Mid(strText, intCounter, 1)) Then
TextOnly = False
Exit Function
End If
Next intCounter
TextOnly = True
End Function
مطلب پیشنهادی :۷ نکته طلایی برای طراحی جداول در اکسس
- استفاده از روال رویداد در فرم .
در این مرحله باید برای فرم خود روالی را تعریف کنید تا قبل از اینکه بخواهد اطلاعات وارد شده توسط کاربر را تحویل جدول دهد کنترل نماید که آیا کاربر در ساختار اطلاعاتی که وارد نموده است آیا از اعداد استفاده کرده است یا خیر ؟
برای این منظور در محیط طراحی خود طبق تصویر زیر پیش رفته تا اکسس روالی با عنوان Before update را برای فرم شما ایجاد نماید .
اکنون کدهای زیر را وارد این روال نموده و روال خود را ذخیره نمایید .
Private Sub Form_BeforeUpdate(Cancel As Integer)
If Len(Me.strReviewedBy & vbNullString) = 0 Then
Exit Sub
Else
If Not TextOnly(Me.strReviewedBy) Then
MsgBox "شما فقط مجاز به استفاده از حروف هستید ", _
vbExclamation, "خطای کاربری"
Cancel = True
End If
End If
End Sub
اکنون کار شما به پایان رسیده است . برای اطمینان از عملکرد کدهای خود در خصوص جلوگیری از درج عدد در تکس باکس های موجود در فرم خود می توانید در اطلاعات وارده به یک یا چند تکس باکس خود از یک یا چند رقم استفاده کنید و نتیجه کار را خود بررسی نمایید .
برای مشاهده لینک دانلود لطفا وارد حساب کاربری خود شوید!
وارد شویدپسورد فایل : گزارش خرابی لینک
مطالب زیر را حتما مطالعه کنید
مفهوم join در SQL و دیتابیس اکسس +ویدئو
ساخت برچسب در اکسس💥چطور آنها را ایجاد و مدیریت کنیم ؟
ریبون ها در اکسس💥از مخفی کردن تا مدیریت کردن آنها
چطوری متن ها و تصاویر را بصورت متحرک در اکسس نمایش بدهیم ؟
فرمت دهی نوشته ها در اکسس | کاربرد + مثالها
۵ ویژگی در فرم های اکسس که کمتر از آنها خبر داشتید .
1 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
سلام
مهندس اگر بخوایم فقط ۴ رقم وارد بشه چی
میشه دستورشو بنویسید